package judesart.app.repository;

import java.util.List;

import judesart.app.domain.Artwork;
import judesart.app.shared.ValidationException;

public interface ArtworkDAO {

    Artwork createArtwork(Artwork artwork) throws ValidationException;

    Artwork updateArtwork(Artwork artwork) throws ValidationException;

    List<Artwork> findArtworks(Long artistId, int startAt, int maxElements);

    List<Long> findArtworkIds(Long artistId);

    int countArtworks(Long artistId);

    Artwork findArtworkById(Long artworkId);

    Artwork addImageToArtwork(Artwork artwork, String fileName, String blobKey);

    Artwork deleteImageFromArtwork(Artwork artwork, Long photoId);

    void deleteArtwork(Long artworkId);
}
